課程資訊
課程名稱
機器學習
Machine Learning 
開課學期
105-2 
授課對象
電機資訊學院  電信工程學研究所  
授課教師
李宏毅 
課號
EE5177 
課程識別碼
921 U2550 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期四2,3,4(9:10~12:10) 
上課地點
 
備註
總人數限190人。與林宗男合開
總人數上限:190人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1052EE5177_ 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

你可能已經修過和計算機程式相關的課程,能夠設計程式讓電腦處理一些簡單的問題,但是你有沒有想過,那些處理非常複雜問題的程式是如何設計出來的呢?例如:Gmail 如何知道一封郵件是否為垃圾郵件?Facebook 如何知道一張相片是否包含人臉? Siri如何聽懂並回答使用者的問題?人類製作出來的Alpha Go為什麼可以比職業棋士還強呢?事實上,這些程式中的演算法並非由人類直接設計,而是由人類寫出讓機器能夠根據資料學習的演算法後,讓機器自動由大量的資料、過去的經驗找出可以處理這些問題的方法,例如:如果我們想讓機器能夠偵測一封郵件是否為垃圾郵件,我們可以讓機器「看過」大量的郵件,並「告知」機器哪些郵件是垃圾郵件、哪些不是,機器便可以利用這些資訊自動去建構出偵測垃圾郵件的模型,當收到新的郵件時,機器便根據所學的模型去偵測它是否為垃圾郵件,而如何設計出讓機器自動學習的演算法就是「機器學習」這個領域在探討的問題。

課程主要內容如下:
http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_map.png

上課方式:
1. 老師以投影片上課,另有助教時間由助教講授作業以及期末專題。
2. 作業:作業共七個,由個人獨立完成。每個作業包含實作和理論兩部分,實作部分需繳交程式碼由助教驗證成果,理論部分需繳交報告並回答指定的問題。
七次作業涵蓋主題如下(實際作業內容以上課公告為準):
----- Regression
----- Binary Classification
----- Multi-class classification
----- Multi-class classification (can only be solved by non-linear model, e.g. deep learning)
----- Sequence labeling (It is easier to solve this problem by structured learning approaches)
----- Semi-supervised Learning
----- Unsupervised Learning
3. 期末專題:二到四人一組,找不到隊友也沒關係,老師可以幫忙配對。老師會準備數個實際的機器學習競賽題目,這些題目都非常具有挑戰性,需要使用多種機器學習技術才能完成,學生可以從中選取一個題目完成。
 

課程目標
本課程旨在介紹機器學習使用者都應該知道的基本機器學習理論、方法和工具,希望透過這門課學生對機器學習的技術可以有系統性的認識,並具備實作這些技術的基本能力,以期在未來能將這些技術活用到各自的專業領域中。 
課程要求
先修課程:需要具備基本的程式設計與數學能力。在程式能力方面,修習過計算機程式的學生即具備修習本課程所需的基本程式能力,但如果熟悉 python 的話,作業、專題進行會較順利;在數學能力方面,修習過微積分、機率、統計相關課程即具備修習本課程所需的基本數學能力。理論上,電機系大三以上的學生就有能力修習本課程。

加簽方式:第一次上課會公告作業0,想要加簽的同學請於當天晚上繳交作業0,正確無誤即獲得加簽資格。作業0 非常簡單,只是為了確定有基礎程式能力,和機器學習無關。


 
預期每週課後學習時數
 
Office Hours
另約時間 
指定閱讀
待補 
參考書目
本課程無指定教科書。參考書目如下:
Introduction to Machine Learning, second edition, Ethem Alpaydin
Pattern Recognition and Machine Learning, Christopher M. Bishop
Learning from Data, Yaser S. Abu-Mostafa , Malik Magdon-Ismail, Hsuan-Tien Lin
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
70% 
--- 實作部分: ----- 程式碼:程式碼符合指定格式可以順利執行即得滿分,如格式錯誤經助教要求修改後才能執行會被扣分 ----- 執行結果:程式碼執行結果達到指定的正確率即得到滿分,未達指定正確率按和指定正確率的差距扣分 ----- 課堂內競賽成績:同學上傳程式執行結果到競賽專用平台 Kaggle,可以即時得知成果,並可得知在班級中的排名,根據排名給予分數。課堂內競賽成績優異的同學會被邀請在課堂上發表,會有額外的加分。課堂內競賽視同考試,嚴禁任何作弊行為,例如:在機器學習過程中使用禁止使用的資料,如測試資料(視同考試攜帶小抄)、註冊多重分身參加比賽(視同考試請人代考) --- 理論部分: ----- 回答指定問題 ----- 自由發揮,例如同學可以比較不同的機器學習方法做深入的分析。 
2. 
期末專題 
30% 
同作業 
 
課程進度
週次
日期
單元主題
第1週
2/23  Basic Concepts of Machine Learning 
第2週
3/02  Regression  
第3週
3/09  Classification  
第4週
3/16  Support Vector Machines and Kernel  
第5週
3/23  Nearest Neighbor, Decision Tree, Boosting  
第6週
3/30  Deep Neural Network 
第7週
4/06  Convolutional Neural Network  
第8週
4/13  Learning Theory 
第9週
4/20  Semisupervised Learning 
第10週
4/27  Transfer Learning  
第11週
5/04  Unsupervised Learning: Linear Dimensionality Reduction 
第12週
5/11  Unsupervised Learning: Beyond Linear 
第13週
5/18  Beyond Classification: Structured Learning I  
第14週
5/25  Beyond Classification: Structured Learning II  
第15週
6/01  Beyond Classification: Recurrent Neural Network  
第16週
6/08  Learning in the Real World: Reinforcement Learning 
第17週
6/15  Bayesian machine learning 
第18週
6/22  期末競賽成果展示